package lv.clientedisqueria.view;

import java.awt.Component;

import javax.swing.JOptionPane;

/**
 * La clase en la cual posee formularios joptionpane para preguntas, informaciones, o mensajes de error
 */
public class Mensajeria {

	/**
	 * Mensaje de error
	 * @param parentComponent componente en el cual se va a mostrar el mensaje
	 * @param mensaje a mostrar
	 */
	public static void mensajeError(Component parentComponent, String mensaje){
		JOptionPane.showMessageDialog(parentComponent, mensaje, "Mensaje de Error", JOptionPane.ERROR_MESSAGE);
	}
	
	/**
	 * Indica una pregunta de forma si o no
	 * @param source objeto que debera ser un component y tener un padre por default
	 * @param titulo del formulacio de pregunta
	 * @param mensaje a preguntar
	 * @return respuesta de la pregunta
	 */
	public static Integer mensajePregunta1(Object source, String titulo, String mensaje){
		return JOptionPane.showConfirmDialog(((Component)source).getParent(), mensaje, titulo, 
				JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
	}

	/**
	 * Indica una pregunta de forma si o no o cancelar
	 * @param source objeto que debera ser un component y tener un padre por default
	 * @param titulo del formulacio de pregunta
	 * @param mensaje a preguntar
	 * @return respuesta de la pregunta
	 */
	public static Integer mensajePregunta2(Object source, String titulo, String mensaje){
		return JOptionPane.showConfirmDialog(((Component)source).getParent(), mensaje, titulo, 
				JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
	}

	/**
	 * formulario de informacion de la sucedido.
	 * @param source objeto que debera ser un component y tener un padre por default
	 * @param titulo del formulacio de informacion
	 * @param mensaje a informar
	 */
	public static void mensajeInformacion(Object source, String titulo, String mensaje) {
		JOptionPane.showMessageDialog(((Component)source).getParent(), mensaje, titulo, JOptionPane.INFORMATION_MESSAGE);		
	}
	
	/**
	 * formulario de informacion de la sucedido.
	 * @param parentComponent componente en el cual se va a mostrar el mensaje
	 * @param titulo del formulacio de informacion
	 * @param mensaje a informar
	 */
	public static void mensajeInformacion(Component parentComponent, String titulo, String mensaje) {
		JOptionPane.showMessageDialog(parentComponent, mensaje, titulo, JOptionPane.INFORMATION_MESSAGE);		
	}
}
